package com.ruoyi.system.service;

import java.util.List;
import com.ruoyi.system.domain.ScoreManagement;
import com.ruoyi.system.domain.ExamManagement;
import com.ruoyi.system.domain.dto.StatisticsDTO;

/**
 * 四级联考成绩合格名单Service接口
 * 
 * @author ruoyi
 * @date 2025-04-02
 */
public interface IScoreManagementService 
{
    /**
     * 查询四级联考成绩合格名单
     * 
     * @param id 四级联考成绩合格名单主键
     * @return 四级联考成绩合格名单
     */
    public ScoreManagement selectScoreManagementById(Long id);

    /**
     * 查询四级联考成绩合格名单列表
     * 
     * @param scoreManagement 四级联考成绩合格名单
     * @return 四级联考成绩合格名单集合
     */
    public List<ScoreManagement> selectScoreManagementList(ScoreManagement scoreManagement);

    /**
     * 新增四级联考成绩合格名单
     * 
     * @param scoreManagement 四级联考成绩合格名单
     * @return 结果
     */
    public int insertScoreManagement(ScoreManagement scoreManagement);

    /**
     * 修改四级联考成绩合格名单
     * 
     * @param scoreManagement 四级联考成绩合格名单
     * @return 结果
     */
    public int updateScoreManagement(ScoreManagement scoreManagement);

    /**
     * 批量删除四级联考成绩合格名单
     * 
     * @param ids 需要删除的四级联考成绩合格名单主键集合
     * @return 结果
     */
    public int deleteScoreManagementByIds(Long[] ids);

    /**
     * 删除四级联考成绩合格名单信息
     * 
     * @param id 四级联考成绩合格名单主键
     * @return 结果
     */
    public int deleteScoreManagementById(Long id);

    /**
     * 导入四级联考成绩合格名单数据
     * 
     * @param scoreList 成绩合格名单数据列表
     * @param updateSupport 是否更新支持，如果已存在，是否覆盖
     * @param operName 操作用户
     * @return 结果
     */
    public String importScoreData(List<ScoreManagement> scoreList, boolean updateSupport, String operName);

    /**
     * 从考试成绩数据生成并插入合格名单
     * 
     * @param examList 符合条件的考试成绩数据列表
     * @param operName 操作用户
     * @return 结果
     */
    public int insertQualifiedScoreListFromExam(List<ExamManagement> examList, String operName);

    /**
     * 生成资格审查名单
     * 根据招考人数及面试比例筛选考生
     * 
     * @param operName 操作用户
     * @return 资格审查人数
     */
    public int generateQualificationList(String operName);

    /**
     * 获取四级联考成绩合格名单统计数据
     * 
     * @return 统计数据
     */
    public StatisticsDTO getScoreStatistics();
}
